
#pragma once

#include "bullet.h"
#include "gamenodecontainer.h"

class Army;
class FrameAnimation;

class SkyFallBullet : public Bullet {
public:
	SkyFallBullet(Army* targetArmy, EquipmentAttribute* attr, GameScene* scene);
	virtual ~SkyFallBullet();

    virtual void init();
    virtual bool update(float ticks);

protected:
	virtual void createHitEffect() = 0;
	virtual void updateBolt(float ticks) = 0;
	virtual bool isHitTarget() = 0;

	virtual void applyDamageToTargets();

protected:
	Army* _targetArmy;

	FrameAnimation* _bolt;

	GameScene* _gameNodeContainer;
	ManagedGameNodeInfo _managedGameNodeInfo;

	DamageType _damageType;

	CCPoint velocity;
};
